﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WorldEvolution
{


    public static class Time
    {
        public const float FrameDeltaTime = 0.02f;    // 每帧间隔时间
        public const float FPS = 1 / FrameDeltaTime;
        public static ulong FrameCount = 0;

        public static void RegistTime(IUpdateable updater)
        {
            mUpdaters.Add(updater);
        }

        public static bool UnregistTime(IUpdateable updater)
        {
            return mUpdaters.Remove(updater);
        }

        public static void Update ()
        {
            foreach(var updater in mUpdaters)
            {
                updater.PreUpdate();
                updater.FixedUpdate();
                updater.LateUpdate();
            }

            FrameCount++;
        }



        static List<IUpdateable> mUpdaters = new List<IUpdateable>();

    }
}
